1 00:00:07,760 --> 00:00:08,200 OK. 2 00:00:10,340 --> 00:00:21,140 OK, so I would like to welcome all of you on today's session, it is day three advanced, so I make 3 00:00:21,140 --> 00:00:22,060 like a court date. 4 00:00:22,070 --> 00:00:26,870 The ad means the third day on the advance, the topics. 5 00:00:27,270 --> 00:00:31,250 So today we'll see hooks and tape manipulation from events. 6 00:00:31,830 --> 00:00:36,120 Before that, I was asking Garani for help. 7 00:00:37,370 --> 00:00:46,640 I have the VIPs instance which get corrupted with the comments installed and it get corrupted and no 8 00:00:46,640 --> 00:00:47,510 more accessible. 9 00:00:47,810 --> 00:00:58,490 So what I did, I did the folder under GitHub, then I push all my custom app under GitHub. 10 00:00:58,490 --> 00:01:06,750 Then I will reinstall the page, then I will create again the app in the new instance and get full and 11 00:01:07,140 --> 00:01:09,430 McGrady's give me guidance. 12 00:01:10,010 --> 00:01:15,420 So this is one of the usage of the GitHub folder, as we saw yesterday. 13 00:01:15,950 --> 00:01:24,080 So any one of you have questions or doubts about any topic from previous sessions. 14 00:01:25,920 --> 00:01:31,320 Reason is, if you have any questions, let us know will clear the doubts. 15 00:01:33,060 --> 00:01:37,910 There was a question regarding a timetable of charitable. 16 00:01:38,250 --> 00:01:43,660 I don't know if you guys did some research on that, how to accomplish it. 17 00:01:44,550 --> 00:01:45,230 Yes. 18 00:01:45,240 --> 00:01:46,310 Yes, you are right. 19 00:01:46,760 --> 00:01:48,920 I forgot your email, actually. 20 00:01:48,930 --> 00:01:55,020 Yes, I got your email, and, uh, I don't have an answer. 21 00:01:55,350 --> 00:01:56,580 I will take notes. 22 00:01:56,700 --> 00:02:00,360 I take notes on that kind of James. 23 00:02:01,560 --> 00:02:06,990 I don't know, Karen, if you have any concerns about child of a child. 24 00:02:07,470 --> 00:02:08,700 No, not at the moment. 25 00:02:08,940 --> 00:02:09,940 Not at the moment. 26 00:02:09,970 --> 00:02:15,810 OK, so let me I will take I will make some R&D about this. 27 00:02:16,710 --> 00:02:23,240 But my feedback, quick feedback, it is not advisable. 28 00:02:23,250 --> 00:02:23,910 It's doable. 29 00:02:23,910 --> 00:02:27,450 But, uh, I don't recommend this. 30 00:02:27,450 --> 00:02:37,020 You have to redesign it in a way that, uh, to accept only parent to child, one level child of a child 31 00:02:37,020 --> 00:02:39,360 is not recommended in therapy. 32 00:02:40,530 --> 00:02:42,140 This is my quick answer. 33 00:02:42,150 --> 00:02:43,140 I will let you know. 34 00:02:43,140 --> 00:02:45,470 But, uh, more development later. 35 00:02:47,120 --> 00:02:49,770 OK, welcome. 36 00:02:50,290 --> 00:02:57,290 Let's start Garani, can you introduce the today's topic and the way forward? 37 00:02:58,200 --> 00:02:58,580 Sure. 38 00:03:00,110 --> 00:03:04,410 So let me share my screen so that we jump into it immediately. 39 00:03:06,880 --> 00:03:08,630 Good, so, um. 40 00:03:11,050 --> 00:03:17,560 We are looking at topic number two, like mommy has already pointed out, this is and duct tape manipulation 41 00:03:17,560 --> 00:03:24,690 from events, I know that this topic is very closely related to topic number seven. 42 00:03:25,210 --> 00:03:31,040 So if time is on our side, we are going to combine the two using events to manipulate dog types. 43 00:03:31,950 --> 00:03:33,130 So let's jump into this. 44 00:03:33,340 --> 00:03:41,950 So hoops, hoops in in Europe next, ideally is like it's like those of you who who have used the jungle 45 00:03:41,950 --> 00:03:44,410 before, it's like jungle signals. 46 00:03:44,800 --> 00:03:51,270 You know what happens in the jungle sicknesses once you have done something on one on one application 47 00:03:51,280 --> 00:03:58,840 or maybe on one document or one model, what happens is that the application automatically triggers 48 00:03:59,320 --> 00:04:06,720 another event to happen in another place inside of your court where you have instructed it to take place. 49 00:04:07,210 --> 00:04:11,570 So our use here in Europe next is something like maybe we are saving. 50 00:04:11,600 --> 00:04:12,940 Let me let me start my server. 51 00:04:15,020 --> 00:04:19,960 Chris Lawrence for us in Mosul. 52 00:04:23,680 --> 00:04:25,150 Let me start this over here. 53 00:04:28,670 --> 00:04:31,120 Start and. 54 00:04:32,960 --> 00:04:40,120 I open this thing, it seems cut up. 55 00:04:41,960 --> 00:04:46,950 Yes, I know it's not manmade, so you really are using. 56 00:04:48,610 --> 00:04:56,610 You said that it's a kind of signal after an event, absolutely, yes. 57 00:04:58,600 --> 00:05:04,260 Does it include the Koran does not? 58 00:05:04,840 --> 00:05:11,860 Well, partly I don't know how to answer your question, because the whole point file is also they find 59 00:05:11,860 --> 00:05:16,300 out that has this CÉDULA, which asked you to remember you are looking at Quran. 60 00:05:16,300 --> 00:05:17,410 It may increase the font here. 61 00:05:17,430 --> 00:05:22,720 Also, you remember I don't know whether you are here when you are looking at the Quran job, this cédula. 62 00:05:24,680 --> 00:05:25,190 Are you here? 63 00:05:25,850 --> 00:05:32,630 Yeah, yeah, yeah, so this is also found in the Hawks NPA file, so they think we are coming to look 64 00:05:32,630 --> 00:05:36,200 at here is this event that occupancy is also part of the. 65 00:05:37,970 --> 00:05:40,700 What is in the hoax file of frappé? 66 00:05:40,700 --> 00:05:45,770 So any application, Minnesota will come with this thing bootstrapped out of the box. 67 00:05:46,070 --> 00:05:52,220 So these events, the hoax we are going to be writing here is what I am saying is, like I said, you 68 00:05:52,220 --> 00:05:53,150 know, in Dongo. 69 00:05:53,510 --> 00:05:59,120 So you can you can you can give it command here like we are going to be seeing in a few minutes apart 70 00:05:59,120 --> 00:06:04,820 and afunction and then about to talk to you whatever you want, executed. 71 00:06:05,450 --> 00:06:11,180 And then you connect it to some event, which, of course, now when this when this is reached, for 72 00:06:11,180 --> 00:06:11,490 instance. 73 00:06:11,500 --> 00:06:15,380 And quickly, we have an update on console, on trash. 74 00:06:15,380 --> 00:06:20,600 And many of us we are going to be looking at from the recommendation when that event for that particular 75 00:06:20,600 --> 00:06:21,590 event is triggered. 76 00:06:21,860 --> 00:06:24,640 This thing will go ahead and call it the other method that is here. 77 00:06:24,830 --> 00:06:26,750 So, yes, it is like I said, you know, in jungle. 78 00:06:29,550 --> 00:06:30,710 What about the Koran? 79 00:06:31,080 --> 00:06:35,310 I don't mean the duck event, I mean the Koran event. 80 00:06:35,940 --> 00:06:42,170 It's the same Quran event for a scheduled event. 81 00:06:42,450 --> 00:06:42,840 Yes. 82 00:06:43,350 --> 00:06:45,990 Is that the same or not? 83 00:06:47,210 --> 00:06:53,420 I mean, the schedule of events, uh huh, Seema's. 84 00:06:55,160 --> 00:07:04,860 We can we can we can launch cultural events relying upon documents. 85 00:07:05,720 --> 00:07:09,200 No, no cédula events. 86 00:07:09,210 --> 00:07:11,170 This one is basically as cédula. 87 00:07:11,330 --> 00:07:14,720 So unless if you write logic to do that, maybe you're right. 88 00:07:14,730 --> 00:07:22,550 The logic that triggers that idea I asked you here is made to run at a specified, specified time of 89 00:07:22,550 --> 00:07:24,590 the day, all of the week of the month. 90 00:07:25,010 --> 00:07:32,330 So I said runs on what has already been scheduled for it, but adhoc event is triggered by some action 91 00:07:32,330 --> 00:07:35,900 taking place in maybe some part of our DOCTYPE within your system. 92 00:07:36,630 --> 00:07:37,970 OK, yeah. 93 00:07:38,940 --> 00:07:39,870 OK, thank you. 94 00:07:40,260 --> 00:07:40,830 North Korea. 95 00:07:41,790 --> 00:07:44,760 Yes, yes, yeah, so good. 96 00:07:45,800 --> 00:07:55,200 So let me reload this and I log in, so I will saying let's say, for instance, you want to administrator, 97 00:07:57,390 --> 00:08:03,540 you want to win, you save a library working on our library, our library up. 98 00:08:04,260 --> 00:08:05,970 Let's say you want everything you save. 99 00:08:05,970 --> 00:08:10,560 I knew I knew a new article inside of your library application. 100 00:08:11,190 --> 00:08:18,240 You want your system to go ahead and do something else, like maybe create a note and tell somebody 101 00:08:18,240 --> 00:08:24,570 or someone I don't know, maybe create a note and tell people that there is a new article that has been 102 00:08:24,570 --> 00:08:25,130 added. 103 00:08:25,590 --> 00:08:30,780 So what is going to happen is that you are not going to be asking people to go ahead and create notes 104 00:08:31,620 --> 00:08:34,140 every time an article has been added. 105 00:08:34,560 --> 00:08:40,710 But rather, the best way to do this is you create an article here in the system on the background to 106 00:08:40,710 --> 00:08:45,980 go ahead and create a note and civic and maybe now from the creation of a.. 107 00:08:45,990 --> 00:08:49,650 If maybe that's not supposed to be, send us an email to somebody else. 108 00:08:49,920 --> 00:08:52,510 You can trigger that within the same application. 109 00:08:53,220 --> 00:08:59,520 So ideally, our Hawksworth is the moment I add something here on this one, we are going to be seeing 110 00:08:59,520 --> 00:09:00,270 this example. 111 00:09:00,810 --> 00:09:04,240 I put them I put a new document here in our new article here. 112 00:09:04,590 --> 00:09:09,010 This thing is going to run another function that is going to do something else. 113 00:09:10,050 --> 00:09:19,020 So if you come to the documentation here for documentation, for documentation and you look for controller 114 00:09:19,920 --> 00:09:27,750 controller, whoops, controller, whoops, you look for a number of documents here, look for one specifically 115 00:09:27,750 --> 00:09:29,590 one that is talking about controller whoops. 116 00:09:29,640 --> 00:09:31,140 This one in this case it is this one. 117 00:09:31,590 --> 00:09:33,330 And I have opened it here already. 118 00:09:33,750 --> 00:09:36,490 And we can also go ahead and share this link with the. 119 00:09:36,720 --> 00:09:39,840 For instance, I can just drop this on the chart. 120 00:09:41,510 --> 00:09:44,270 But you can also have a look if you scroll. 121 00:09:45,140 --> 00:09:49,280 You can read this for yourself, I just want to show you the kind of functions we can tap into. 122 00:09:49,640 --> 00:09:50,880 These are the hooks that we have. 123 00:09:50,900 --> 00:09:52,120 So these are controller hooks. 124 00:09:52,430 --> 00:09:58,340 So if you look at these, Kinealy, you you notice that these are just like the methods we had, the 125 00:09:58,340 --> 00:10:05,360 videos we are talking about where you can you can do something about maybe on the inside they are like 126 00:10:05,360 --> 00:10:10,380 functions inside of our of our class for every DOCTYPE. 127 00:10:10,850 --> 00:10:20,540 So, for instance, if we came to our DOCTYPE here library, library DOCTYPE and we entered the library 128 00:10:21,590 --> 00:10:28,700 articulate, I remember we had this class class article library and inside here we have methods, we 129 00:10:28,700 --> 00:10:30,490 have validated we have before Sèvres. 130 00:10:30,710 --> 00:10:35,900 So the kind of controller actions or controller hooks that we can tap into. 131 00:10:36,170 --> 00:10:39,420 If you look generally and closely, you'll notice that it's almost the same thing. 132 00:10:39,890 --> 00:10:41,530 So we have those before submit. 133 00:10:41,540 --> 00:10:45,130 You can do something after on all these events. 134 00:10:45,140 --> 00:10:48,650 So we have Valide to help before save after that. 135 00:10:48,650 --> 00:10:53,120 So maybe have the inside now of our article, you can do something else. 136 00:10:53,960 --> 00:10:54,320 Great. 137 00:10:54,590 --> 00:10:59,390 So you are going to go in and look at this and maybe you can try each one of them on your own. 138 00:11:00,530 --> 00:11:07,040 But on this one, let me let me show you maybe what we can do here so I can close that on our hooks. 139 00:11:07,040 --> 00:11:13,970 Just above this cédula events we have we have a section we for events. 140 00:11:14,240 --> 00:11:18,200 So you uncommented that this thing will come out of the box? 141 00:11:18,200 --> 00:11:25,040 Every time you create, you create a new app that hooks note before it is created out of the box. 142 00:11:25,040 --> 00:11:27,100 You don't you don't need to create the new A file. 143 00:11:27,830 --> 00:11:32,410 And also most of this code that you see here, most of these who do come with this file. 144 00:11:32,690 --> 00:11:36,920 So in their apps that you have created, we already have dog events. 145 00:11:37,220 --> 00:11:43,340 So this one will come with with only one one one one item added. 146 00:11:43,610 --> 00:11:50,730 And this asterisk, like most of you know, basically this means everything is just like an Eskimo syntax. 147 00:11:51,080 --> 00:11:52,300 So this means everything. 148 00:11:52,640 --> 00:11:57,530 And what this means is that on a very DOCTYPE, let me open up Europea next. 149 00:11:57,530 --> 00:12:01,850 If Europea next hope so that I can be able to explain this. 150 00:12:02,810 --> 00:12:11,420 So Europea next and I can look for the Hawks file this one and then I look for the I look for the documents 151 00:12:11,420 --> 00:12:15,950 and I'll look at this here and create a more space. 152 00:12:16,490 --> 00:12:20,990 We have documents, we have the first one here with an asterisk, just like we have on our DOCTYPE. 153 00:12:21,260 --> 00:12:23,140 And then we have some Meadow's here. 154 00:12:23,180 --> 00:12:28,320 Ideally this is the method and then this is the dotted path to where your function is. 155 00:12:28,330 --> 00:12:29,870 So Yueyue, a method is. 156 00:12:30,380 --> 00:12:31,520 Now look at this other one. 157 00:12:31,790 --> 00:12:32,950 Of course here we have for. 158 00:12:33,080 --> 00:12:39,950 So what is this is is that on every single doctor, if you have this one on every doctype validated 159 00:12:40,160 --> 00:12:44,760 and when you where you are validating it ran this function. 160 00:12:44,840 --> 00:12:50,600 So on every talk that this is going to happen and then likewise on submit, this is going to happen 161 00:12:50,600 --> 00:12:56,570 on update after submit on updatable, submit this one and likewise the other one. 162 00:12:56,990 --> 00:12:59,120 Then this is talk entry. 163 00:12:59,600 --> 00:13:02,740 What this thing means, this is the stock entry DOCTYPE. 164 00:13:03,170 --> 00:13:11,630 So when something like on submit happens on the stock entry, the duct tape ran this function and then 165 00:13:11,630 --> 00:13:15,820 this one, when you cancel a stock entry they run this other function. 166 00:13:15,950 --> 00:13:22,010 So for instance, you can imagine like you have been entering our stock entry, you have some data or 167 00:13:22,640 --> 00:13:29,030 you had, you had your DOCTYPE, you had you had some some data on the duct tape. 168 00:13:29,060 --> 00:13:36,920 It's maybe an entry you have and it was submitted and now you are cancelling this particular item every 169 00:13:36,980 --> 00:13:40,640 time you cancel this item. 170 00:13:40,640 --> 00:13:44,120 What is going to happen is that your opinions on the background is going to run this. 171 00:13:44,750 --> 00:13:50,000 So let's say, for instance, you are working on an app and you have your dog that you have allowed 172 00:13:50,000 --> 00:13:55,790 on submit and you need every time someone council's a document that is already submitted, maybe go 173 00:13:55,790 --> 00:13:58,700 ahead and do some other things on the background on your application. 174 00:13:58,850 --> 00:14:04,760 You can implement this particular this this example we have here so that your application when I this 175 00:14:04,760 --> 00:14:06,860 particular date has been canceled. 176 00:14:07,490 --> 00:14:10,490 Rantes, maybe you want to delete some things from the database. 177 00:14:10,730 --> 00:14:15,290 Maybe you want to trigger this council instead of other stuff like that. 178 00:14:16,220 --> 00:14:19,270 And then we have all these others we have used out of there. 179 00:14:19,290 --> 00:14:24,200 We have communication and so many of us who can go and look at them during your own free time. 180 00:14:24,950 --> 00:14:31,130 So this what we have here, what Frappé House initially is for us here, is something that will happen 181 00:14:31,130 --> 00:14:32,870 on every dog event. 182 00:14:33,200 --> 00:14:34,680 So we may not be interested in this. 183 00:14:34,700 --> 00:14:35,750 We can just copy that. 184 00:14:36,110 --> 00:14:40,010 And then I put a comma pasted and then I can just come this out. 185 00:14:40,920 --> 00:14:47,610 And then here, remember, yeah, we need our duct tape, so the duct tape that we we we are working 186 00:14:47,610 --> 00:14:50,700 on today is the article about duct tape. 187 00:14:50,700 --> 00:14:52,290 So I can just go ahead and copy this. 188 00:14:53,380 --> 00:14:55,390 And I put it there. 189 00:14:56,660 --> 00:15:01,810 That is the article I brought up and then here I need a function, but I want to run. 190 00:15:01,810 --> 00:15:05,850 And remember, he said, this is just like this, just like a method. 191 00:15:05,860 --> 00:15:08,610 So I get to hear it. 192 00:15:08,680 --> 00:15:11,170 So I want you to flip this thing when I'm leaving. 193 00:15:11,440 --> 00:15:18,700 And then this is the dotted path to whatever function you want to run so you can decide to come here. 194 00:15:19,240 --> 00:15:27,310 Let me compress this one so that you get some space so you can decide to use any file that you have 195 00:15:27,310 --> 00:15:27,550 here. 196 00:15:27,550 --> 00:15:28,900 So I can decide to use tasks. 197 00:15:29,200 --> 00:15:30,460 I can use utils. 198 00:15:30,970 --> 00:15:31,990 I can decide. 199 00:15:31,990 --> 00:15:32,530 Excuse me. 200 00:15:32,530 --> 00:15:33,040 Excuse me. 201 00:15:33,040 --> 00:15:34,360 One more one one second. 202 00:15:40,010 --> 00:15:41,210 So sorry about that. 203 00:15:44,070 --> 00:15:50,010 I think there's only so I can decide to use any of these files we have here, or I can go ahead and 204 00:15:50,010 --> 00:15:52,860 create my own file, so it's up to you. 205 00:15:53,430 --> 00:15:56,020 The only thing you need to do is just to provide a notepad here. 206 00:15:56,550 --> 00:16:01,350 So let me open new deals and we can just use this for the purpose of our testing. 207 00:16:01,650 --> 00:16:03,130 And then I define our function here. 208 00:16:03,330 --> 00:16:11,730 I'm going to go to court maybe something like guests who can call this whatever you want to call it. 209 00:16:12,630 --> 00:16:18,740 And then this function, if you are going to be calling it inside of this file, is going to take in 210 00:16:18,750 --> 00:16:19,680 two parameters. 211 00:16:19,680 --> 00:16:25,500 And the first parameter is the document and the other one is the event event. 212 00:16:25,680 --> 00:16:28,200 The event that you passed, you are passing here. 213 00:16:28,680 --> 00:16:30,910 You are passing here on on your doorstep here. 214 00:16:31,260 --> 00:16:33,270 So this function would take two things. 215 00:16:33,270 --> 00:16:36,210 We have the document and we have the event. 216 00:16:36,510 --> 00:16:40,440 Then we can come here and do something like let's just print for now. 217 00:16:40,800 --> 00:16:43,620 Let's print dock and see what is inside the back door. 218 00:16:44,330 --> 00:16:47,700 OK, so if when we have this thing here, we can now go ahead. 219 00:16:47,700 --> 00:16:55,200 And in our case file, we provided a link or the dotted path, the pattern with the link to this function 220 00:16:55,200 --> 00:16:55,740 we have here. 221 00:16:56,370 --> 00:16:57,740 And what is that path? 222 00:16:58,050 --> 00:17:01,560 Immediately, you see we have library management here, so we can just copy it from here. 223 00:17:02,570 --> 00:17:09,110 Have library management update, our function is our finest utils, and then we have what we call it, 224 00:17:09,370 --> 00:17:10,120 you call it. 225 00:17:10,210 --> 00:17:11,750 We call it the best hope. 226 00:17:11,770 --> 00:17:15,170 So I can copy this again and declare. 227 00:17:16,790 --> 00:17:25,010 Safe and I am expecting that this is going to be called every time when I try to save a new dog, a 228 00:17:25,010 --> 00:17:33,050 new library article liberally, and it is going to print the document that I have got here so we can 229 00:17:33,050 --> 00:17:38,630 actually go ahead and maybe read this, do this and remove this. 230 00:17:39,080 --> 00:17:46,340 And then just so that you can see where we have printed this, then I can provide my document here and 231 00:17:46,340 --> 00:17:53,780 then I can also provide the event that we have called and then I can create some more space here. 232 00:17:54,890 --> 00:17:58,460 What it sounds like someone has a question here. 233 00:17:58,540 --> 00:18:02,450 You have a wrong path in your Hooke's util. 234 00:18:04,180 --> 00:18:07,640 Also about this utils, thank you so much. 235 00:18:07,660 --> 00:18:11,440 That is not the energy of adventure. 236 00:18:11,470 --> 00:18:12,850 Thank you for that observation. 237 00:18:13,570 --> 00:18:15,980 So let's go ahead and try this thing. 238 00:18:16,000 --> 00:18:23,740 So what we have done, we have provided our duct tape and then we have of our method here and then so 239 00:18:23,740 --> 00:18:25,240 it's going to run on this event. 240 00:18:25,660 --> 00:18:30,740 And then I thought that the path to our function here, this one. 241 00:18:31,090 --> 00:18:34,310 So let's go ahead and see whether this is going to work. 242 00:18:34,330 --> 00:18:36,040 So this is Python. 243 00:18:36,040 --> 00:18:37,390 So I don't need to reload this. 244 00:18:37,880 --> 00:18:41,800 Let me say the very. 245 00:18:43,550 --> 00:18:43,960 It's. 246 00:18:45,260 --> 00:18:45,610 Who? 247 00:18:46,960 --> 00:18:47,470 Tim. 248 00:18:48,610 --> 00:18:49,580 This has been seamless. 249 00:18:50,240 --> 00:18:56,590 Yeah, you see this one now here visiting hours as well as has logged in to things. 250 00:18:56,830 --> 00:19:00,730 Number one is the one we have passed. 251 00:19:00,730 --> 00:19:05,740 And the reason why this one is printing like this is because we have added only one item in our DOCTYPE. 252 00:19:06,100 --> 00:19:07,270 So this is the DOCTYPE. 253 00:19:07,600 --> 00:19:12,430 And then here we have the the dock, the dock with the item that we have passed. 254 00:19:12,850 --> 00:19:16,920 And then here we have the function, the function that we the event that we call it. 255 00:19:17,320 --> 00:19:23,410 So it's printing here basically because we have also printed it down here and I am seeing this one has 256 00:19:23,440 --> 00:19:30,130 printer like this, like what we are seeing here, because we had we have only added one item here, 257 00:19:30,130 --> 00:19:30,790 only this. 258 00:19:31,120 --> 00:19:42,640 So if we opened this like this and then we added the three tests to and then we also add over something 259 00:19:42,640 --> 00:19:45,010 like that, ISBN, maybe something like that. 260 00:19:46,520 --> 00:19:47,270 And we save. 261 00:19:48,330 --> 00:19:49,160 Are they safe? 262 00:19:49,590 --> 00:19:55,620 This is going to look a little bit different and why is it not showing any aristocracies? 263 00:19:57,500 --> 00:19:58,520 Mr. Tomizawa. 264 00:19:59,760 --> 00:20:01,710 And I wrote my document. 265 00:20:09,290 --> 00:20:10,610 Zahra is restarting. 266 00:20:17,490 --> 00:20:18,020 OK. 267 00:20:20,020 --> 00:20:28,720 So I can I can I can create a new one great new article liberally, and I call this maybe something 268 00:20:28,720 --> 00:20:33,880 like what this does something like that. 269 00:20:34,360 --> 00:20:36,160 And then here we have over. 270 00:20:36,170 --> 00:20:39,540 Is this the. 271 00:20:41,940 --> 00:20:51,960 Whether or not and that's enough, that should bring the difference, it will become here article reached 272 00:20:51,960 --> 00:20:53,100 out to validate. 273 00:20:55,030 --> 00:20:58,420 This is not what I am expecting here, but you get the point, you get the point. 274 00:20:58,830 --> 00:21:02,440 This thing is going to come with everything that is on this document. 275 00:21:02,860 --> 00:21:06,400 So suppose we wanted to only access look at what we have here. 276 00:21:06,670 --> 00:21:13,810 We have the article and we have whatever was passed, whatever was passed in the title title field. 277 00:21:14,320 --> 00:21:15,010 So whatever. 278 00:21:15,590 --> 00:21:18,850 What if we needed to access maybe something within this? 279 00:21:18,850 --> 00:21:24,460 Maybe we need to write some logic that will do something with a publisher, maybe someday with a publisher. 280 00:21:26,140 --> 00:21:32,140 So what we can do is we can just access those things, any of those things here so we can do something 281 00:21:32,140 --> 00:21:36,170 like Doc Dot, publisher, publisher. 282 00:21:36,700 --> 00:21:41,740 So if assuming I have a publisher, assuming I have written that properly. 283 00:21:42,070 --> 00:21:42,970 Publisher, yes. 284 00:21:43,450 --> 00:21:47,680 And I provide a publisher here, maybe something like Macmullan. 285 00:21:48,880 --> 00:21:54,160 And when I save and make sure I save this, I am expecting this thing to bring Macmillan here, we can 286 00:21:54,160 --> 00:21:55,140 remove this dog event. 287 00:21:55,180 --> 00:21:55,980 You don't need it now. 288 00:21:57,010 --> 00:22:02,290 I'm expecting this into print, only the publisher so I can save it. 289 00:22:03,210 --> 00:22:09,760 And I go back here and I have camera, so I am able to assist in the field that is inside this document. 290 00:22:09,960 --> 00:22:15,720 Now with this, what if I want to print maybe something like the article? 291 00:22:16,140 --> 00:22:21,290 Let's say this is two thousand and I want to print to get the article inside my hook here. 292 00:22:21,660 --> 00:22:22,410 I can do that. 293 00:22:22,410 --> 00:22:30,630 And then article post, article post save hoping I have spelled it out correctly and then I try to save 294 00:22:30,630 --> 00:22:33,470 it saved and we have two thousand here. 295 00:22:33,510 --> 00:22:39,870 So I hope you are getting that so we can have questions if there are before we go to now. 296 00:22:39,870 --> 00:22:44,880 We have by doing that we have already looked at who and how to implement them. 297 00:22:45,860 --> 00:22:52,570 And now I would like us to connect that manipulation of duct tapes with item number seven here. 298 00:22:52,580 --> 00:22:58,790 So if you have any doubts on what you have covered in terms of in terms of connecting this hook, this 299 00:22:58,790 --> 00:23:02,440 will here with your function, please let me hear the questions now. 300 00:23:04,590 --> 00:23:05,610 Yeah, go ahead. 301 00:23:08,160 --> 00:23:20,010 So I see there's two two way to react on an event you did using the hook fail, but since Article Library 302 00:23:20,010 --> 00:23:28,080 is our own custom DOCTYPE, we could have go into its controller and just put the validated method there 303 00:23:28,470 --> 00:23:30,140 without using the hook fire. 304 00:23:30,500 --> 00:23:30,670 Right. 305 00:23:31,750 --> 00:23:32,640 Yeah, you're right. 306 00:23:32,640 --> 00:23:33,020 You're right. 307 00:23:33,020 --> 00:23:33,450 You're right. 308 00:23:33,450 --> 00:23:33,750 You're right. 309 00:23:33,760 --> 00:23:35,490 There you are. 310 00:23:35,520 --> 00:23:37,560 It's the only difference. 311 00:23:37,560 --> 00:23:45,940 Is that what you put, what you put in the file here, the DOCTYPE events for instance, if you go to 312 00:23:45,940 --> 00:23:52,500 the our house let me go to our looks here like for instance, here a revalidated here. 313 00:23:52,500 --> 00:23:54,260 We can do exactly the same thing here. 314 00:23:54,750 --> 00:24:00,680 The only thing is that this is done only only on the on the event. 315 00:24:00,810 --> 00:24:02,460 So this is treated as an event. 316 00:24:02,460 --> 00:24:04,160 So it's like a signal in jungle. 317 00:24:04,350 --> 00:24:08,670 So this is treated like a trickle down is when you put logic here. 318 00:24:08,670 --> 00:24:14,550 What happens is that this thing, this thing is normally like let's say, for instance, validate what 319 00:24:14,550 --> 00:24:18,870 happens here, is that this thing is checked, is checked without having to go down this thing. 320 00:24:19,530 --> 00:24:28,350 But when it is on a hook and especially I took that event here, it's just treated like the exact way 321 00:24:28,350 --> 00:24:29,870 that jungle treat signals. 322 00:24:30,120 --> 00:24:34,590 So after something has happened, then check what else do going to do then the rest of the things are 323 00:24:34,600 --> 00:24:35,730 done down here. 324 00:24:47,460 --> 00:24:50,230 You are any mute girl. 325 00:24:51,510 --> 00:24:52,030 Oh, sorry. 326 00:24:53,520 --> 00:24:54,000 I will. 327 00:24:54,720 --> 00:25:01,520 Could we say that the duck duck events in the Hooke's should be used only for a duck type? 328 00:25:01,530 --> 00:25:07,980 We are not managing the source code example, some duck tape from IRP next. 329 00:25:07,980 --> 00:25:14,970 And we would like to react to some event since we don't have access to the controller source code, 330 00:25:14,970 --> 00:25:17,190 then we use duck events. 331 00:25:17,370 --> 00:25:18,010 You're right. 332 00:25:18,020 --> 00:25:18,370 You're right. 333 00:25:18,370 --> 00:25:18,790 You're right. 334 00:25:18,820 --> 00:25:19,080 I'm 335 00:25:22,440 --> 00:25:25,530 sorry I didn't get the last point from game. 336 00:25:25,950 --> 00:25:27,410 Can you repeat it? 337 00:25:29,700 --> 00:25:39,870 I was saying that in the if you go into Hooke's the duck events there, it should be used only for, 338 00:25:39,870 --> 00:25:45,200 uh, for, uh, duck type external to your customer at DOCTYPE. 339 00:25:45,210 --> 00:25:50,760 You don't have access to the source code because if you have access to the controller code, then you 340 00:25:50,760 --> 00:25:55,540 can put directly the even name inside the controller and code. 341 00:25:55,770 --> 00:25:57,450 So there yeah. 342 00:25:57,450 --> 00:26:08,730 If I understand you that you want to say I'm saying anything, if uh in our custom I create a new article. 343 00:26:09,700 --> 00:26:13,450 A new user created anything, any example. 344 00:26:14,430 --> 00:26:20,880 So this new user get created, it is in an external up, right. 345 00:26:22,050 --> 00:26:26,030 So in this case, we have to use hooks, right? 346 00:26:30,660 --> 00:26:43,530 Yes, it's mandatory to use the hooks, in other case, if you have validation like validation, hooks, 347 00:26:44,040 --> 00:26:51,480 controller hooks, it's available in the controller of that DOCTYPE, so no need to put it again in 348 00:26:51,480 --> 00:26:52,020 the hooks. 349 00:26:54,670 --> 00:27:03,430 But it is doable system accept and even it will run both validation, whether it is in controller or 350 00:27:03,430 --> 00:27:04,090 in the hopes. 351 00:27:05,030 --> 00:27:07,030 Both will run, right? 352 00:27:10,850 --> 00:27:12,980 Yes, yes, the bull run one year. 353 00:27:14,120 --> 00:27:22,370 OK, so I have opened, for instance, here I'm in the accounting module, which is module for ERP next. 354 00:27:22,820 --> 00:27:24,120 I have their controller here. 355 00:27:24,500 --> 00:27:30,830 So what gives me strength to pass across is if you come to this thing and you write your code here on 356 00:27:30,830 --> 00:27:37,460 update, you have already started editing Europeanised files which are most effective. 357 00:27:37,460 --> 00:27:40,850 And the next time they release their update, your output is going to be overwritten. 358 00:27:41,720 --> 00:27:50,060 So to be safe, you just if you need to do something on update of this accounting account, for instance, 359 00:27:50,360 --> 00:27:55,910 you are going to call this function, but then you are going to write your code or you're going to connect 360 00:27:55,910 --> 00:27:56,650 that to a hook. 361 00:27:57,020 --> 00:28:02,120 So every time something happens on that, it is going to call a hook and do something else, run code 362 00:28:02,480 --> 00:28:06,350 that is inside of another file that you are in control of. 363 00:28:09,350 --> 00:28:17,810 OK, we have a question from Asia, Minhad, Asia, can we do the same thing in JavaScript hooks? 364 00:28:18,350 --> 00:28:21,210 No, we cannot we cannot write the hooks on JavaScript. 365 00:28:21,230 --> 00:28:23,090 Unfortunately, it is python stuff. 366 00:28:24,260 --> 00:28:24,500 OK. 367 00:28:25,580 --> 00:28:30,680 OK, now, uh, I saw you raise your hand if have question. 368 00:28:32,420 --> 00:28:32,900 Yeah. 369 00:28:33,980 --> 00:28:40,820 Garani the only way to see what was happening to track the event. 370 00:28:41,790 --> 00:28:45,270 The only way is the two to check the concert. 371 00:28:45,300 --> 00:28:52,800 There is no log files for four event institutions there. 372 00:28:52,890 --> 00:29:01,790 Is there any any log files for the Øyvind to track Hooke's? 373 00:29:03,570 --> 00:29:08,370 Well, I have not used any log file that is on the dot that is on the front end. 374 00:29:09,370 --> 00:29:13,080 Everything that I normally use is within within the command line. 375 00:29:14,680 --> 00:29:21,490 OK, yeah, can you print message garani from Hooke's, you print message. 376 00:29:21,520 --> 00:29:22,820 Yeah, yeah, sure. 377 00:29:22,990 --> 00:29:25,290 Not so this one actually. 378 00:29:25,330 --> 00:29:26,070 This is a print. 379 00:29:26,200 --> 00:29:34,570 So if we can do something here like this is our first, this is our test and then the duct tape cost. 380 00:29:34,960 --> 00:29:44,680 So if we save this and we can't lock up and we change something, maybe that's up to 200 here and save. 381 00:29:46,150 --> 00:29:49,060 This is going to have this is artist in to the. 382 00:29:50,760 --> 00:29:54,240 Well, no, I mean print message on the front end. 383 00:29:54,600 --> 00:29:57,210 Yes, yes, yeah, you can you can also do that. 384 00:29:57,240 --> 00:30:04,300 So you can just do something like frappé dot management print. 385 00:30:04,590 --> 00:30:05,970 Yeah, you can do that. 386 00:30:06,660 --> 00:30:07,960 Yeah, you can do that as well. 387 00:30:08,790 --> 00:30:12,000 This is from can do that. 388 00:30:12,420 --> 00:30:19,740 So if I come here and change something like, you know, I'd not move that and save. 389 00:30:21,460 --> 00:30:24,550 You see, this is a money accident, right? 390 00:30:24,670 --> 00:30:39,880 So this is you can trace your hooks, can you can you can you guess the the event not to not to to massage 391 00:30:39,910 --> 00:30:41,090 it to, um. 392 00:30:43,440 --> 00:30:49,980 Put I mean, put the event on the on the message, can you cast it and put it in the message? 393 00:30:50,760 --> 00:30:58,020 How would you feel if I understand what you mean is I like that. 394 00:31:00,780 --> 00:31:02,040 Document the. 395 00:31:03,970 --> 00:31:14,170 Or what you mean is we save this like we have available here and we have this, but what what am I doing 396 00:31:14,170 --> 00:31:14,410 here? 397 00:31:14,800 --> 00:31:19,870 No, no, I mean I mean, what's what's what's 398 00:31:22,450 --> 00:31:24,190 this thing in the council? 399 00:31:24,200 --> 00:31:26,140 Can we put it in the message here? 400 00:31:26,680 --> 00:31:27,290 Uh huh. 401 00:31:27,690 --> 00:31:30,000 Your message should print that article. 402 00:31:31,090 --> 00:31:31,650 No, no. 403 00:31:31,660 --> 00:31:42,370 The heart after the what is this thing on the council after the event, for example? 404 00:31:43,370 --> 00:31:51,980 Uh, this is the starting this debugging is active debugger. 405 00:31:52,270 --> 00:31:53,110 And can we. 406 00:31:54,220 --> 00:31:54,790 Oh, this one. 407 00:31:55,480 --> 00:31:56,050 Yes. 408 00:31:56,050 --> 00:32:01,810 Can we put them in the message or the on the message here. 409 00:32:02,760 --> 00:32:03,250 Yes. 410 00:32:05,080 --> 00:32:10,810 Well, OK, this is something that is really why we do not have control over this. 411 00:32:11,560 --> 00:32:17,320 The only thing we have control, because this is just like like this is this is this is like a log that 412 00:32:17,320 --> 00:32:20,000 is done by by frappé themselves. 413 00:32:20,530 --> 00:32:22,970 So when you run it, it keeps tracking this. 414 00:32:23,440 --> 00:32:25,970 So what do you have control of is what we have? 415 00:32:25,990 --> 00:32:27,040 Maybe something like here. 416 00:32:27,610 --> 00:32:32,140 I do not have the way right now to maybe render this on the front end. 417 00:32:35,620 --> 00:32:37,450 OK, no problem. 418 00:32:39,220 --> 00:32:39,660 OK. 419 00:32:39,760 --> 00:32:46,370 I have a question regarding the path that the that path is. 420 00:32:46,830 --> 00:32:47,410 Yes. 421 00:32:47,410 --> 00:32:49,090 This is what is the scope. 422 00:32:49,780 --> 00:32:57,730 What is the limit of it should be in the same model level or upper level or what we can put in the other 423 00:32:58,480 --> 00:32:59,290 custom app. 424 00:32:59,670 --> 00:33:04,030 But this one you do not this one has no limit. 425 00:33:04,030 --> 00:33:09,830 You can put anything as long as you have provided the correct path to wherever you are. 426 00:33:09,860 --> 00:33:11,850 You are you are phylis into a function. 427 00:33:12,040 --> 00:33:13,140 This is going to college. 428 00:33:13,390 --> 00:33:18,910 So even if you are outside like now, we had another up here code something else and you want to call 429 00:33:18,910 --> 00:33:19,870 this up from here. 430 00:33:19,900 --> 00:33:22,540 We just provide the power here and it to call it from the. 431 00:33:23,890 --> 00:33:30,580 I mean, here and in your case, library management, dot utils, library management is the module name, 432 00:33:30,580 --> 00:33:30,910 right? 433 00:33:31,300 --> 00:33:31,840 Yes. 434 00:33:33,550 --> 00:33:38,940 Yes, you did it, why you didn't put the application name up, name, for example. 435 00:33:40,350 --> 00:33:49,980 You mean like why are you it in the module name, it should start from the module if everything starts 436 00:33:49,980 --> 00:33:55,680 from the module, just like we are doing even in the on the on the schedule events like you do everywhere 437 00:33:55,680 --> 00:34:01,950 from in Europe and Frappier, the dotted parts, including in the Apeace, we will start from the module 438 00:34:01,950 --> 00:34:02,340 level. 439 00:34:03,250 --> 00:34:08,610 OK, yeah, so Mordialloc modu and then the. 440 00:34:09,160 --> 00:34:16,330 So remember, this could be it could be you could be having an affair at upholders here like just one 441 00:34:16,330 --> 00:34:18,760 second like I can, I can decide. 442 00:34:18,760 --> 00:34:24,130 I want to group my things here, maybe into services, maybe I want to put these, these, all these 443 00:34:24,130 --> 00:34:25,630 utils and everything into. 444 00:34:25,780 --> 00:34:32,410 I don't have all the services, I can just create a folder called IT Services, put my utils file inside 445 00:34:32,410 --> 00:34:37,960 of services and out here you just need to provide those services, dot, whatever. 446 00:34:38,830 --> 00:34:46,170 But I mean, I guess my question, should the Hooke's file is proper to a customer. 447 00:34:46,210 --> 00:34:50,470 Each customer has his own hooks file, right. 448 00:34:52,270 --> 00:35:01,990 So wherever exist the Hooke's file, it will manipulate the modules under the same customer. 449 00:35:04,560 --> 00:35:05,600 Not necessarily the same. 450 00:35:05,650 --> 00:35:14,230 You can even manipulate you can you can use this event, an event on the other library to manipulate 451 00:35:14,230 --> 00:35:16,000 something that is not even within this. 452 00:35:17,940 --> 00:35:25,770 OK, yeah, so you put module name only module name is enough without custom the update. 453 00:35:25,810 --> 00:35:27,090 Yes, yes, yes. 454 00:35:27,100 --> 00:35:28,130 The module name is enough. 455 00:35:28,180 --> 00:35:28,470 Yes. 456 00:35:29,790 --> 00:35:31,080 So uh module name. 457 00:35:31,080 --> 00:35:36,390 It cannot be repeated in the full implementation means. 458 00:35:36,390 --> 00:35:40,110 In the full instance we cannot have two modules. 459 00:35:40,110 --> 00:35:40,700 Same name. 460 00:35:40,710 --> 00:35:41,010 Right. 461 00:35:41,370 --> 00:35:41,780 Yeah. 462 00:35:41,790 --> 00:35:45,030 Why would you have to modules with the same name in the same application. 463 00:35:48,600 --> 00:35:54,860 I mean, you eunuch, the module name is unique, is managed by frappé, and it is unique. 464 00:35:56,690 --> 00:36:00,480 I'm not I'm not sure I cannot be in the position that is unique. 465 00:36:00,920 --> 00:36:08,690 Yeah, I mean, if you go if you go to IRP next up and drill down under IRP next up, this one. 466 00:36:09,110 --> 00:36:09,620 Yes. 467 00:36:10,330 --> 00:36:16,070 Then again, IRP next, what is your model, for example, a model accounts. 468 00:36:16,880 --> 00:36:17,390 Yes. 469 00:36:17,390 --> 00:36:18,170 This is something. 470 00:36:18,590 --> 00:36:19,100 Yeah. 471 00:36:19,100 --> 00:36:26,630 If I want to take to make a article library validate, I will run something under this account. 472 00:36:26,630 --> 00:36:31,160 I would write accounts that whatever files exist there. 473 00:36:31,800 --> 00:36:32,550 Yeah, you're correct. 474 00:36:32,550 --> 00:36:35,660 There is a counter. 475 00:36:36,020 --> 00:36:36,320 Yeah. 476 00:36:36,320 --> 00:36:42,680 You put in accounts and then you go to your data and you give it back to whatever function you want 477 00:36:42,680 --> 00:36:43,080 to call. 478 00:36:44,180 --> 00:36:44,440 Yeah. 479 00:36:44,690 --> 00:36:46,010 OK, fine. 480 00:36:46,700 --> 00:36:46,930 Yeah. 481 00:36:47,000 --> 00:36:47,510 Thank you. 482 00:36:47,820 --> 00:36:48,120 Good. 483 00:36:48,210 --> 00:36:49,130 You're welcome. 484 00:36:51,440 --> 00:36:55,630 OK, so we are going to go to the next level. 485 00:36:55,640 --> 00:36:56,780 So now let's see. 486 00:36:58,300 --> 00:37:04,540 Let's see how long we can we can use this thing, I'm going to use this information because ideally 487 00:37:04,540 --> 00:37:05,710 I just want to demo this. 488 00:37:06,160 --> 00:37:13,290 But now I want every time we have let me duplicate this and create this, I want everything. 489 00:37:13,300 --> 00:37:15,190 We save a new. 490 00:37:16,980 --> 00:37:21,700 A new article I want us to save, and so let me open or not. 491 00:37:24,510 --> 00:37:31,560 Oh, this one has a lot of notes, I was running around with this thing, so it's running, it keeps 492 00:37:31,560 --> 00:37:33,590 running and doing things here. 493 00:37:38,760 --> 00:37:39,920 I mean, this. 494 00:37:44,410 --> 00:37:46,500 OK, let me just delete it from here. 495 00:37:49,620 --> 00:37:51,800 So. 496 00:37:52,550 --> 00:37:53,870 We have training. 497 00:37:56,390 --> 00:37:57,200 Proper training. 498 00:37:59,670 --> 00:38:01,530 We have arbitrarily upturning. 499 00:38:02,490 --> 00:38:09,880 And then we can look for Tabar notes, maybe page three notes. 500 00:38:09,960 --> 00:38:10,980 Yeah, this one. 501 00:38:12,460 --> 00:38:16,060 And we can track it. 502 00:38:17,440 --> 00:38:17,770 Yeah. 503 00:38:20,220 --> 00:38:22,040 So this should be empty now. 504 00:38:23,670 --> 00:38:34,350 OK, so I want us to create a note here, every time we we save everything, we save a DOCTYPE. 505 00:38:35,830 --> 00:38:37,130 Yeah, this one is not empty. 506 00:38:37,600 --> 00:38:42,160 I want us to create a. everything we to add a new a new article here. 507 00:38:42,160 --> 00:38:43,570 I want us to create a.. 508 00:38:43,990 --> 00:38:44,700 Alongside it. 509 00:38:45,010 --> 00:38:48,580 So our do triggers are such a function from within your instance. 510 00:38:49,420 --> 00:38:53,440 So we can go to our house and write write another function. 511 00:38:55,700 --> 00:39:00,140 I think we can do we can do after. 512 00:39:05,250 --> 00:39:12,270 And then we give it up and appropriate path to our our function, the function that you want to save, 513 00:39:12,300 --> 00:39:15,330 to call in this one, we can just call it safe not. 514 00:39:17,300 --> 00:39:26,690 So if not, we can quote it is it is within the utils file so we can come here and we define our function 515 00:39:27,470 --> 00:39:31,690 and we call it, if not, remember this one after taking a dog in an event. 516 00:39:33,040 --> 00:39:41,020 And then not here, you need you need to you need to know how to write this thing are the function that 517 00:39:41,020 --> 00:39:43,860 will be called when the top is successfully. 518 00:39:44,290 --> 00:39:52,240 So building this thing picks, including so we can do something like load equals, not equals. 519 00:39:55,700 --> 00:39:58,370 Not equals, and then what are you going to do here? 520 00:39:58,390 --> 00:40:03,670 We are going to get the duct tape so we can to get it, OK? 521 00:40:03,860 --> 00:40:11,200 Remember this then this document is going to have to have the name of the duct tape that you want to 522 00:40:11,210 --> 00:40:11,620 get. 523 00:40:12,070 --> 00:40:15,800 So this is not we are going to provide the name of the 524 00:40:18,830 --> 00:40:20,630 document, I think is document. 525 00:40:20,930 --> 00:40:23,000 And then here we are going to provide the document. 526 00:40:23,550 --> 00:40:25,820 Is it is that is not. 527 00:40:26,360 --> 00:40:33,560 And then what you're going to do is we are going to put in what you want to see inside of our document 528 00:40:33,560 --> 00:40:33,830 here. 529 00:40:34,310 --> 00:40:38,480 So if you come in, try to add to this, you notice that there is only one thing that is mandatory here, 530 00:40:38,810 --> 00:40:39,830 and this is the title. 531 00:40:39,830 --> 00:40:42,410 So we can just add the title and that's it. 532 00:40:42,860 --> 00:40:46,870 So what you're going to do is we are going to provide a title. 533 00:40:47,720 --> 00:40:54,410 It should be inside that title and then we provide the title is we can just access the document that 534 00:40:54,410 --> 00:41:01,940 we added here and say something like something like Dog wrote. 535 00:41:03,370 --> 00:41:04,750 What is the name of our article? 536 00:41:04,930 --> 00:41:14,080 Let's see this one here when we're adding it is article name so we can do doctored article. 537 00:41:18,120 --> 00:41:25,560 Again, to talk to Dr. Addicott, namely the dog is the dog, the article name. 538 00:41:28,520 --> 00:41:35,160 They may be I don't know why this is complaining, let me see why this is complaining. 539 00:41:39,090 --> 00:41:52,560 Equals the article name dot, dot, dot, dot com name, then you can provide we can give this here. 540 00:41:56,070 --> 00:42:01,640 We have a. we have a comma there, so this is saying we are not allowed within our set. 541 00:42:02,870 --> 00:42:04,740 They told us. 542 00:42:07,030 --> 00:42:15,520 OK, OK, OK, give me a second to check the check here, let me see what I'm getting wrong documents. 543 00:42:15,530 --> 00:42:20,730 I think I heard something some something like that written somewhere. 544 00:42:22,670 --> 00:42:27,210 Give me a second give me a second to check this, so if you have questions, you can bring them on board. 545 00:42:27,230 --> 00:42:29,300 Let me check what is going on here. 546 00:42:30,720 --> 00:42:31,430 Once again. 547 00:42:35,980 --> 00:42:40,230 So if you have questions that you can, you can bring them as I check what I'm getting wrong. 548 00:42:50,670 --> 00:42:51,240 Kim. 549 00:43:07,240 --> 00:43:08,740 The Garani. 550 00:43:11,630 --> 00:43:20,150 Yes, yes, mommy, can you check on he shared the syntax to create a new document so it is proper to 551 00:43:20,240 --> 00:43:22,160 get Dirk DOCTYPE. 552 00:43:23,830 --> 00:43:27,730 You have to give the doctor's name and title new task. 553 00:43:29,100 --> 00:43:30,780 I think it will help this. 554 00:43:33,600 --> 00:43:40,550 Yeah, yeah, yeah, I see this, so, yeah, I have that I have that in mind here. 555 00:43:40,560 --> 00:43:43,260 Don't waste it complaining, doc. 556 00:43:44,790 --> 00:43:50,790 I think, Karen, you use after insert after insert. 557 00:43:50,790 --> 00:43:51,180 Right. 558 00:43:52,620 --> 00:43:54,840 Go back to can you share your screen. 559 00:43:57,310 --> 00:44:02,010 I show myself just a minute, just a minute. 560 00:44:02,170 --> 00:44:02,810 It is coming. 561 00:44:02,830 --> 00:44:03,190 Yes. 562 00:44:07,050 --> 00:44:14,070 In your books, there is no after insert in the list, there is before, after Saboor. 563 00:44:15,550 --> 00:44:17,030 What hooks you use? 564 00:44:17,880 --> 00:44:21,810 Yeah, this, this, this, this will not be the issue, the issue must be here. 565 00:44:21,970 --> 00:44:24,160 I don't know why this tattoo is getting underlined. 566 00:44:25,070 --> 00:44:25,840 Oh, sorry. 567 00:44:26,770 --> 00:44:30,160 We had we had we had a comma here instead of here. 568 00:44:30,160 --> 00:44:34,350 We put a comma instead of instead of Apollodorus would be a problem. 569 00:44:34,510 --> 00:44:36,410 Not not OK. 570 00:44:36,760 --> 00:44:38,550 OK, so so now we have it. 571 00:44:38,740 --> 00:44:46,120 So now this note, we can go ahead and do note though, the insert, note or insert. 572 00:44:46,720 --> 00:44:54,150 And sometimes sometimes if this doesn't work or you can just do Frappier, don't repeat it, sometimes 573 00:44:54,160 --> 00:44:54,430 not. 574 00:44:54,430 --> 00:44:56,620 But inside doesn't doesn't reflect this thing. 575 00:44:56,980 --> 00:45:02,280 So if you find this for some reason, this doesn't fit in the database, just add this other thing and 576 00:45:02,770 --> 00:45:03,960 that should be able to walk now. 577 00:45:04,840 --> 00:45:08,620 So you are saying something about the about this. 578 00:45:09,990 --> 00:45:21,560 Yeah, there is no aftershave, the function is and let's check the documentation is before I went off 579 00:45:21,650 --> 00:45:23,880 the inside, the software inside, correct. 580 00:45:24,950 --> 00:45:30,020 Well, yeah, let's go ahead and test about now, this is I don't remember if your home is on the back 581 00:45:30,020 --> 00:45:35,570 end, you do not need to restart your server sometimes because this of course, this is a bug in JavaScript 582 00:45:35,570 --> 00:45:37,370 is what you have to endeavour. 583 00:45:37,590 --> 00:45:38,740 You have to reroute your browser. 584 00:45:38,750 --> 00:45:42,220 But in Python, you don't have to sit and wait and try to do this. 585 00:45:42,450 --> 00:45:44,190 This this thing is running a current job. 586 00:45:44,210 --> 00:45:45,410 So I may need to. 587 00:45:45,410 --> 00:45:46,460 I may need to. 588 00:45:47,000 --> 00:45:49,360 I may need to stop this. 589 00:45:50,370 --> 00:45:57,600 And they make it so that this thing stops running into my great. 590 00:46:01,020 --> 00:46:02,850 Bench Margaret or bench started. 591 00:46:02,910 --> 00:46:10,320 This thing has to be running so that we can go ahead because ours is saving our saving in the name of 592 00:46:10,320 --> 00:46:11,600 the documentary having started. 593 00:46:12,000 --> 00:46:16,010 So even if we have others here with me, this is a randomly generated string. 594 00:46:16,470 --> 00:46:22,350 So, I mean, yeah, I was generating a random string and then inserting is that are not so we yeah. 595 00:46:22,350 --> 00:46:23,370 We can ignore this. 596 00:46:23,370 --> 00:46:26,620 We want to see how this is going to save the article. 597 00:46:26,710 --> 00:46:32,540 The title we give to our article is what is going to be saved here as the title of this note. 598 00:46:32,850 --> 00:46:34,830 So it can't be a random string like this. 599 00:46:35,490 --> 00:46:38,820 So let's go ahead and at our article and see 600 00:46:41,760 --> 00:46:48,360 Article four article for something like Hoopes is five. 601 00:46:49,260 --> 00:46:54,660 If it we have an error saying this release is not just just. 602 00:46:57,240 --> 00:46:59,640 Let's see why that is complaining. 603 00:47:00,500 --> 00:47:01,520 And. 604 00:47:12,170 --> 00:47:20,920 You have an extra Kerma at the end of title, I don't know if it can be this well, I don't think so. 605 00:47:20,930 --> 00:47:22,400 Let's try without it. 606 00:47:23,120 --> 00:47:24,000 No, it's not. 607 00:47:24,680 --> 00:47:25,370 Let me check. 608 00:47:27,620 --> 00:47:28,490 Give me one second. 609 00:47:28,490 --> 00:47:29,780 Give me give me one second. 610 00:47:30,170 --> 00:47:33,680 Let me just debug this and then I get back in a second. 611 00:48:32,150 --> 00:48:32,430 Well. 612 00:48:35,060 --> 00:48:35,630 Oh. 613 00:48:53,220 --> 00:48:53,540 Oh. 614 00:48:58,080 --> 00:49:00,210 No, no, no, no, no, no, don't call. 615 00:49:14,390 --> 00:49:15,320 Again and again. 616 00:49:24,610 --> 00:49:25,430 Oh. 617 00:51:10,280 --> 00:51:17,720 By the way, regarding the shared folder, all of you are able to access no issue. 618 00:51:19,350 --> 00:51:23,010 Because Osama today was unable to access. 619 00:51:25,180 --> 00:51:28,240 Did you try Osama today accessing shareholder? 620 00:51:32,630 --> 00:51:37,670 Yeah, I have to run my my personal computer. 621 00:51:38,540 --> 00:51:42,090 No, no, even your your, uh, professional computer. 622 00:51:42,110 --> 00:51:46,600 I have did it right from your professional computer. 623 00:51:46,610 --> 00:51:47,630 Not personal. 624 00:51:49,290 --> 00:51:55,260 It should work, should work, and password is Frappier 20 21 if capital. 625 00:51:56,310 --> 00:51:59,580 So I think only you cannot access others. 626 00:52:02,320 --> 00:52:03,140 I appreciate it. 627 00:52:03,180 --> 00:52:04,570 Today, another link. 628 00:52:06,130 --> 00:52:08,770 And I hope to work for you also. 629 00:52:19,310 --> 00:52:20,530 It's in the 630 00:52:24,350 --> 00:52:24,880 Tribune. 631 00:52:32,610 --> 00:52:33,070 Uh. 632 00:52:36,730 --> 00:52:40,630 So Karani, I should add another snippet. 633 00:52:40,720 --> 00:52:41,920 Can you check? 634 00:52:45,090 --> 00:52:52,760 So this single court petition, doctor's name, so I've seeing actually our court looks perfectly fine, 635 00:52:52,770 --> 00:52:57,390 so let me let me because let me share my screen here. 636 00:52:57,810 --> 00:53:00,210 Is there any library not important? 637 00:53:01,740 --> 00:53:02,310 No, no. 638 00:53:02,310 --> 00:53:04,530 Really, we don't need to be important for this. 639 00:53:05,070 --> 00:53:07,700 So let me let me let me explore this. 640 00:53:07,890 --> 00:53:10,680 I think I'm going to let let's see. 641 00:53:10,870 --> 00:53:13,720 Because, you see, this is this is the syntax. 642 00:53:13,770 --> 00:53:15,850 This is the exact syntax we need to do here. 643 00:53:15,880 --> 00:53:26,280 There's nothing fancy a set, simple code or double code either, unless do this one, because this 644 00:53:26,280 --> 00:53:27,200 is what they have here. 645 00:53:27,720 --> 00:53:35,100 What is inserting what is inserting those the notes with with a current job is this one new note for 646 00:53:35,310 --> 00:53:39,210 Dog-Eat-Dog in the document is that in the data is the node. 647 00:53:39,210 --> 00:53:41,730 So here is this where I'm generating a random string. 648 00:53:42,240 --> 00:53:45,690 So I will have to check why it is not working with a hook. 649 00:53:46,200 --> 00:53:50,940 And then and then maybe I can I can address that that issue tomorrow instead of instead of spending. 650 00:53:52,680 --> 00:53:53,150 Can you. 651 00:53:54,380 --> 00:53:58,550 Comment, the comment, the last sentence, comment, this one. 652 00:53:58,970 --> 00:54:09,620 Yeah, the comment years without it, and it can't be that Jimmy and me just save you see still or restart 653 00:54:09,620 --> 00:54:10,100 server. 654 00:54:11,670 --> 00:54:13,320 And he starts working. 655 00:54:18,870 --> 00:54:22,120 Distorting anything here? 656 00:54:22,170 --> 00:54:22,660 Nothing. 657 00:54:23,310 --> 00:54:30,540 Also, we learn, by the way, from debugging, we learned from that because anyone can get the same 658 00:54:30,540 --> 00:54:33,240 errors and we don't know how to do so. 659 00:54:33,650 --> 00:54:35,240 OK, I will tell you. 660 00:54:35,250 --> 00:54:41,530 Can you comment on the hoax over a comment and all the hoops, what you had commented? 661 00:54:41,710 --> 00:54:41,950 Yes. 662 00:54:43,430 --> 00:54:46,740 Return to the initial stage. 663 00:54:48,290 --> 00:54:55,520 OK, yeah, this one, yeah, yeah, you comment well, whatever is giving it commented. 664 00:54:57,100 --> 00:55:03,940 That one now, you know, we don't have this, we don't have anything, so this is going to save. 665 00:55:06,240 --> 00:55:11,900 Yeah, that one saves the accident, so it would start adding point by point. 666 00:55:12,000 --> 00:55:13,020 And slowly, slowly. 667 00:55:13,500 --> 00:55:17,130 So now let's look at many things at the same time. 668 00:55:17,130 --> 00:55:19,440 Add one things at a time. 669 00:55:19,870 --> 00:55:26,670 Got rid of the these of the sort of the things that you want to call this utils save note. 670 00:55:26,670 --> 00:55:27,260 Save it. 671 00:55:27,270 --> 00:55:28,110 We have this one. 672 00:55:29,040 --> 00:55:32,070 So let's see whether this one gets here actually. 673 00:55:32,070 --> 00:55:41,770 So frappé not the rule and say we are here start. 674 00:55:42,060 --> 00:55:42,510 Yeah. 675 00:55:43,170 --> 00:55:47,730 And then I try to save this G.K save. 676 00:55:50,490 --> 00:55:52,000 He doesn't call that function. 677 00:55:52,410 --> 00:55:54,060 Yes, see? 678 00:55:55,810 --> 00:56:03,010 After inside, so you have, uh, saved your file. 679 00:56:03,240 --> 00:56:07,650 It's it's it's a bit of a civil case. 680 00:56:07,660 --> 00:56:07,960 Sorry. 681 00:56:09,970 --> 00:56:11,660 So am I giving our own. 682 00:56:12,080 --> 00:56:15,100 Oh, by the way, I have a question. 683 00:56:15,100 --> 00:56:20,410 Maybe the difference in the controller looks. 684 00:56:21,100 --> 00:56:25,570 So it is before they validate, uh, before submit. 685 00:56:25,570 --> 00:56:27,770 All are very similar. 686 00:56:27,790 --> 00:56:30,850 So who is running before. 687 00:56:32,700 --> 00:56:34,680 You got my question, Karen. 688 00:56:37,910 --> 00:56:40,170 Oh, no, it's hitting it what we did. 689 00:56:40,270 --> 00:56:42,760 Remember, remember, this is getting there. 690 00:56:43,610 --> 00:56:46,460 This is we are doing it after means it is. 691 00:56:46,460 --> 00:56:48,380 And this only happens once. 692 00:56:49,700 --> 00:56:51,870 That only happens when you are saving it for the first time. 693 00:56:51,890 --> 00:56:56,480 So if you edit and you try to save, it is not treated as after insult. 694 00:56:58,390 --> 00:57:06,740 Yes, it's only called once, and so we have to outset the article, but then here we have we are here. 695 00:57:07,060 --> 00:57:08,240 So this is what we do. 696 00:57:08,320 --> 00:57:09,470 This is through. 697 00:57:09,820 --> 00:57:17,470 So now if we try to edit something here and to see to not it's not supposed to call it, it's not supposed 698 00:57:17,470 --> 00:57:23,500 to call it because, you know, reload this reload and we try to edit. 699 00:57:25,980 --> 00:57:28,260 Do you want to see a troll? 700 00:57:29,130 --> 00:57:35,790 You did a through error, does does it cancel the insert database if you are in the after insert? 701 00:57:37,350 --> 00:57:42,360 Sorry, not it will not it will not stop this one, only stop. 702 00:57:42,630 --> 00:57:43,440 Let me go back. 703 00:57:43,830 --> 00:57:47,780 This one Rapido through will stop this execution here. 704 00:57:48,180 --> 00:57:53,280 But remember, this court, this court is only polt when this one has already happened. 705 00:57:53,280 --> 00:57:58,860 So their who will be called after the article has been inserted successfully. 706 00:58:00,010 --> 00:58:06,250 So it's not in the same transaction, it's a new databased transaction where the first one is already 707 00:58:06,250 --> 00:58:08,030 committed, correct? 708 00:58:08,160 --> 00:58:08,500 Yes. 709 00:58:09,000 --> 00:58:13,570 OK, so let's see whether this will save again. 710 00:58:14,950 --> 00:58:21,880 Save you see, this does include everything that this does, including things that sort of things that 711 00:58:21,880 --> 00:58:27,550 is only called when you are saving a new document like 50, 60. 712 00:58:28,820 --> 00:58:29,750 This one is called. 713 00:58:31,550 --> 00:58:35,890 So now let's see, so we are here, it's getting there now. 714 00:58:36,400 --> 00:58:42,800 You want to say Karani that after insult will happen only for a new record, not update existing, not 715 00:58:42,800 --> 00:58:43,610 upgrade existing. 716 00:58:43,610 --> 00:58:43,970 Yes. 717 00:58:47,050 --> 00:58:54,270 So you have to select the right even hoops, you have to select the right in the right event. 718 00:58:56,490 --> 00:58:59,790 So let's see what goes through the title. 719 00:58:59,820 --> 00:59:01,140 Let's see what happens there. 720 00:59:02,010 --> 00:59:04,190 So remember this one, we have to create a new one. 721 00:59:05,310 --> 00:59:06,250 Fifty 57. 722 00:59:06,740 --> 00:59:09,760 See if it is one does OK. 723 00:59:09,990 --> 00:59:11,580 So it is working here now. 724 00:59:11,580 --> 00:59:12,020 It's there. 725 00:59:12,050 --> 00:59:13,020 It is fine. 726 00:59:13,740 --> 00:59:18,110 So the problem could be duct tape, not. 727 00:59:19,170 --> 00:59:28,240 And you get at the issue, you know, maybe it's not loose and everything is working up to there. 728 00:59:28,890 --> 00:59:30,810 So let's go and try to create a new one. 729 00:59:32,130 --> 00:59:39,210 New article is Fifty Eight Swivet Twerked. 730 00:59:39,780 --> 00:59:44,340 So now that's what is refreshing. 731 00:59:44,410 --> 00:59:44,660 See? 732 00:59:44,670 --> 00:59:46,130 Yeah, it's here is what. 733 00:59:46,860 --> 00:59:47,450 Congrats. 734 00:59:48,880 --> 00:59:51,010 So I don't know what was wrong with our theme. 735 00:59:51,040 --> 00:59:51,980 What was it. 736 00:59:52,150 --> 00:59:52,620 This one. 737 00:59:58,080 --> 01:00:04,170 And some go back and see go here, a new one. 738 01:00:05,070 --> 01:00:07,880 There's 59 in Save. 739 01:00:08,570 --> 01:00:10,480 Oh, yes. 740 01:00:12,150 --> 01:00:14,430 So the problem is in the hope file. 741 01:00:16,130 --> 01:00:16,330 Hmm. 742 01:00:17,170 --> 01:00:26,550 Um, why is a different article, I believe it means that. 743 01:00:27,550 --> 01:00:28,020 OK. 744 01:00:29,660 --> 01:00:34,780 Oh, kay, what is your method, your test? 745 01:00:35,360 --> 01:00:36,410 What is the test tube? 746 01:00:42,790 --> 01:00:45,830 Underutilized as to what is doing the message print. 747 01:00:46,060 --> 01:00:50,010 I'm looking at it or commented or whatever. 748 01:00:53,030 --> 01:00:54,110 The problem could be here. 749 01:00:54,230 --> 01:00:55,790 Actually, yes. 750 01:00:58,670 --> 01:01:03,110 Yeah, so let me just pass is not what's. 751 01:01:06,180 --> 01:01:08,990 So a new one, that is. 752 01:01:11,230 --> 01:01:13,660 But to tell. 753 01:01:14,750 --> 01:01:15,260 Yes. 754 01:01:16,630 --> 01:01:17,620 He has been a certain. 755 01:01:19,240 --> 01:01:26,680 The issue was also with we have commented the comment, comment for the comment. 756 01:01:27,970 --> 01:01:30,440 So you know that uncertainty is enough. 757 01:01:31,240 --> 01:01:33,730 Yeah, I do think that is enough sometimes. 758 01:01:34,060 --> 01:01:38,760 Sometimes if it doesn't work, just add property, something. 759 01:01:38,870 --> 01:01:40,300 Sometimes this one doesn't. 760 01:01:40,330 --> 01:01:44,950 I don't know why and I don't know exactly when, but sometimes you'll find this one of the exciting 761 01:01:45,520 --> 01:01:46,570 things in the database. 762 01:01:46,810 --> 01:01:50,160 So I want you to just add this other every time I add this one to us. 763 01:01:50,980 --> 01:01:55,800 So this sometimes I cannot accept it. 764 01:01:55,810 --> 01:01:59,840 But since you are experience, you have experience with it. 765 01:02:00,130 --> 01:02:00,390 Yeah. 766 01:02:00,460 --> 01:02:05,620 You know, what I am saying sometimes is yes, it is actually. 767 01:02:05,620 --> 01:02:11,620 Sometimes because I think thinking is, you know, frappé, especially when it comes with Europeanist. 768 01:02:12,310 --> 01:02:17,200 Some things you remember the other day, we were also checking we were also checking logs here. 769 01:02:17,890 --> 01:02:20,310 Sometimes it logs, other times it doesn't. 770 01:02:20,440 --> 01:02:25,720 So you can't really explain why is why things like sometimes other times they don't. 771 01:02:26,470 --> 01:02:27,630 But that's not that. 772 01:02:27,920 --> 01:02:29,650 That's how we learn. 773 01:02:29,650 --> 01:02:31,570 We learn from your experience. 774 01:02:31,570 --> 01:02:32,890 We take it out of this. 775 01:02:32,890 --> 01:02:38,650 It's important to tell that otherwise we cannot discover this. 776 01:02:38,710 --> 01:02:44,050 We spent time debugging and we don't understand why it's not inserting. 777 01:02:44,620 --> 01:02:45,800 Yeah, yeah. 778 01:02:46,420 --> 01:02:46,930 Yeah. 779 01:02:48,190 --> 01:02:48,670 Great. 780 01:02:50,740 --> 01:02:51,090 Yeah. 781 01:02:51,100 --> 01:02:57,570 So so now that is, that is manipulating, that is manipulating, manipulating dog types. 782 01:02:57,760 --> 01:03:05,020 So by this, by doing this of course now inside of this function inside of here you are able to manipulate 783 01:03:05,020 --> 01:03:07,620 so many so any doctor that you interested in. 784 01:03:07,630 --> 01:03:15,910 So if you needed to do something after this article has been saved or maybe before it has been saved, 785 01:03:15,910 --> 01:03:22,270 you want to do something else or after it has been canceled, you can connect that to a hook, access 786 01:03:22,270 --> 01:03:27,940 another door, like we have access to the duct tape here and do something else instead of that duct 787 01:03:27,940 --> 01:03:28,140 tape. 788 01:03:28,150 --> 01:03:35,920 So remember, we use not because it is very small, you only need to add a title so you have no limitation 789 01:03:35,920 --> 01:03:37,870 as to the amount of things you can put here. 790 01:03:38,350 --> 01:03:41,590 Even if you wanted to edit the accounting module, you can do that here. 791 01:03:41,590 --> 01:03:47,080 You just need to provide all the parameters that are needed and you can do that with a hook. 792 01:03:47,560 --> 01:03:52,360 So unless we have questions, my thinking is we we have finished today. 793 01:03:52,370 --> 01:03:56,950 So if if anyone feels like we need to clarify something, please, Michiana. 794 01:03:59,320 --> 01:03:59,740 Yes. 795 01:04:00,850 --> 01:04:03,040 And who has questioned? 796 01:04:06,050 --> 01:04:07,250 Gairm, you have a question. 797 01:04:11,910 --> 01:04:16,540 Or he left, he left, he left the meeting this morning. 798 01:04:17,010 --> 01:04:17,910 I have a question. 799 01:04:21,190 --> 01:04:33,190 Garani, yes, go to the controller documentation with the task controller, the tabatabai, the documentation 800 01:04:33,190 --> 01:04:43,000 ducks' that yes, yes, this one I want to understand every every Hooke's, every Oak's when it will 801 01:04:43,000 --> 01:04:43,910 be triggered. 802 01:04:43,930 --> 01:04:51,060 It's very important this OK, for example, you are saying before submit OK, when I, when I press 803 01:04:51,060 --> 01:04:54,940 the button submit, I press the button, submit. 804 01:04:55,390 --> 01:04:57,190 This is will will be fired. 805 01:04:57,190 --> 01:04:57,590 Right. 806 01:04:57,850 --> 01:04:58,390 Correct. 807 01:04:59,620 --> 01:05:10,780 So if I put, for example, frappé that throe message and the process will fail so the submitter will 808 01:05:10,780 --> 01:05:11,650 not have a right. 809 01:05:14,200 --> 01:05:17,920 Yeah, I do not happen to submit submits. 810 01:05:18,100 --> 01:05:20,200 Remember, submit is in the duct tape. 811 01:05:20,200 --> 01:05:24,420 So you have anybody submit like after you have stiffed you. 812 01:05:25,900 --> 01:05:26,350 Yeah. 813 01:05:26,500 --> 01:05:32,190 So if you need to check some things because remember when you submit a document in frappé, you can't 814 01:05:32,200 --> 01:05:34,110 edit it, you need to answer it. 815 01:05:34,690 --> 01:05:38,650 So we some checks you want to do before you submit a document. 816 01:05:38,860 --> 01:05:41,410 You can do that with this, this, this method. 817 01:05:43,550 --> 01:05:54,110 So let's go through this hooks and let's understand when it will fire exactly this one we did already 818 01:05:54,110 --> 01:06:00,230 did before council council here we are talking about a document that has been submitted. 819 01:06:00,920 --> 01:06:04,030 So the document is submitted and you want to cancel it. 820 01:06:04,220 --> 01:06:06,590 So maybe this is this is the adopted. 821 01:06:06,610 --> 01:06:08,410 We do not allow people to consult. 822 01:06:08,720 --> 01:06:13,130 You do not want people to consult documents that have been submitted so you can just do this. 823 01:06:13,130 --> 01:06:19,130 So the council battle may be there, but what is going to happen is that it is not going to allow people 824 01:06:19,130 --> 01:06:26,270 to council that document or another use case is maybe you need to you need maybe a user and only use 825 01:06:26,730 --> 01:06:30,410 an ordinary user can can trigger the council event. 826 01:06:30,740 --> 01:06:33,950 But you want it is to, first of all, go to the supervisor before you. 827 01:06:34,280 --> 01:06:36,000 The document can actually be cancelled. 828 01:06:36,440 --> 01:06:41,060 So what you're going to do is you are going to place that logic inside the before council event. 829 01:06:41,420 --> 01:06:48,110 So someone is going to click the council button, but it will not the council until when this this is 830 01:06:48,110 --> 01:06:48,770 satisfied. 831 01:06:49,220 --> 01:06:51,050 OK, that is done before council. 832 01:06:52,070 --> 01:06:54,170 Then here we have before update. 833 01:06:54,320 --> 01:06:55,460 After submit. 834 01:06:55,640 --> 01:07:01,950 So this is this document has already been submitted, but you are trying to edit it. 835 01:07:01,970 --> 01:07:07,900 So in this situation, you can see this is called Before I submitted document value are updated. 836 01:07:08,060 --> 01:07:15,020 So if you want to update a document, we are which has already been submitted and there is some logic 837 01:07:15,020 --> 01:07:15,680 you need to do. 838 01:07:15,680 --> 01:07:17,630 Maybe you want to check who exactly is doing that. 839 01:07:17,630 --> 01:07:20,390 Two is they are all going to do that with this function. 840 01:07:22,070 --> 01:07:32,360 Then before you say sorry, before update after segment, now you did you press submit, OK, you press 841 01:07:32,360 --> 01:07:39,150 the button, submit and the document is going to be submitted, right? 842 01:07:39,600 --> 01:07:40,010 Yes. 843 01:07:41,390 --> 01:07:42,950 When before update. 844 01:07:42,950 --> 01:07:46,910 It is there is a time elapsed between these two events. 845 01:07:47,210 --> 01:07:48,050 No, no, no. 846 01:07:48,570 --> 01:07:54,780 I mean, what happens when you submit a document and they want to edited it? 847 01:07:55,310 --> 01:07:59,120 What happens is that you have to cancel it fast, OK? 848 01:07:59,140 --> 01:08:00,790 Not when you cancel this document. 849 01:08:00,800 --> 01:08:01,340 It is. 850 01:08:01,340 --> 01:08:01,700 It is. 851 01:08:01,700 --> 01:08:04,130 Again, you can now update that document. 852 01:08:04,760 --> 01:08:11,000 But what happens is that frappé keeps a log of what that what was in that document before you try to 853 01:08:11,000 --> 01:08:11,640 update it. 854 01:08:11,990 --> 01:08:18,530 So if a document has already been canceled and you are not to update it, it's data to something else 855 01:08:18,950 --> 01:08:20,450 you can call this function to do. 856 01:08:20,450 --> 01:08:27,710 That means you have you have to before update one is normal update. 857 01:08:28,760 --> 01:08:30,470 There is another before update. 858 01:08:30,470 --> 01:08:30,790 Right. 859 01:08:31,810 --> 01:08:36,100 Yes, an update on submit an on of plate of meat. 860 01:08:37,780 --> 01:08:41,750 An update there is an update on a is there. 861 01:08:42,520 --> 01:08:50,320 OK, so the make to make difference there is before update, after submission and an update for document 862 01:08:50,770 --> 01:08:51,690 and submittal. 863 01:08:55,440 --> 01:08:56,250 You got my question. 864 01:08:56,380 --> 01:08:59,000 Yes, yes, are right, you're right, yeah. 865 01:08:59,040 --> 01:09:06,630 So next before insert so before you certainly looked at it before inserting, you want to say this is 866 01:09:06,630 --> 01:09:09,990 a new record to be inserted in the database, right? 867 01:09:10,230 --> 01:09:10,710 Yes. 868 01:09:10,890 --> 01:09:17,770 You see, this one is saying before before a document is inserted, inserted into the database. 869 01:09:18,000 --> 01:09:21,540 So if they did, the document already exists in the database. 870 01:09:21,540 --> 01:09:23,130 This function is not going to be called. 871 01:09:24,120 --> 01:09:32,460 It is record level now we are talking on the event at the database level, not in the front end, not 872 01:09:32,460 --> 01:09:38,450 like a button get pressed pressed button or a move outside the field. 873 01:09:38,880 --> 01:09:41,960 This trigger is at the database level, right? 874 01:09:42,190 --> 01:09:42,780 You're right. 875 01:09:44,740 --> 01:09:53,410 So now that these things get triggered, when the database will insert before inserting a new record, 876 01:09:53,410 --> 01:09:54,430 this is get triggered. 877 01:09:54,850 --> 01:09:55,360 Yes. 878 01:09:55,690 --> 01:10:07,360 So before naming this is cause for the name of the visit, before naming this again happens just it 879 01:10:07,510 --> 01:10:11,600 appears almost the same level we've waited for before you start. 880 01:10:12,010 --> 01:10:19,030 But this one is used is used to manipulate maybe the fields, the values of the name property, remember, 881 01:10:19,420 --> 01:10:24,600 name names, property in frap is treated as the default commodity. 882 01:10:25,330 --> 01:10:30,760 So if you need to do some checks to the primary key before it is in the database, you can use before 883 01:10:30,760 --> 01:10:38,860 naming a method, or maybe you generate your own name and maybe maybe you can also do that, for instance. 884 01:10:38,920 --> 01:10:45,550 Is this a place they use it in the patient's DOCTYPE because they use the patient name, they use the 885 01:10:45,550 --> 01:10:48,280 patient's name as the primary key. 886 01:10:48,550 --> 01:10:52,690 And so what they do is that they, first of all, check whether the patient's name may have provided 887 01:10:53,080 --> 01:10:59,380 already exists and if it exists, just to prevent something like, you know, if there are currently 888 01:10:59,510 --> 01:11:05,850 Jofre currently existing, then that is has been used as a primary key in another patient comes with 889 01:11:05,860 --> 01:11:08,500 an image of recurrently they are going to have in the primary care. 890 01:11:08,510 --> 01:11:09,730 Joffre Karenni one. 891 01:11:11,430 --> 01:11:18,810 OK, so the money that we this fund, the accident or to name this is an option on the. 892 01:11:22,310 --> 01:11:29,000 So to name when it's naming it generated after, after all, before, after, after, after all, the 893 01:11:29,030 --> 01:11:36,050 name of not used, let me see an optional method which is called only when it is defined in the controller 894 01:11:36,200 --> 01:11:36,890 a document. 895 01:11:37,250 --> 01:11:39,950 I have not used this this one, but maybe we can explore that. 896 01:11:40,720 --> 01:11:44,460 OK, validate validate validity of course. 897 01:11:44,480 --> 01:11:49,190 Now this one is every time you are putting something new into the database, whether it is a new one, 898 01:11:49,190 --> 01:11:54,320 whether you are editing, it has to go through checks that are inside the validate function. 899 01:11:55,570 --> 01:11:57,190 So it happened before in court. 900 01:11:57,550 --> 01:12:04,990 Yes, it happened it happened before before insert event before you for saving here, before saving. 901 01:12:04,990 --> 01:12:11,110 So whether you want to insert a new record or you have just edited edited a record here and you want 902 01:12:11,110 --> 01:12:16,120 to save it, the validate function is called at all those instances. 903 01:12:16,300 --> 01:12:22,780 So if maybe you had something here that needed to be checked every time, whether I use editing or saving 904 01:12:22,780 --> 01:12:26,470 a new record, the best place to place the logic is unvalidated function. 905 01:12:28,960 --> 01:12:31,490 Back back to the page, please. 906 01:12:32,530 --> 01:12:33,420 I am on the page. 907 01:12:33,550 --> 01:12:34,170 In the page. 908 01:12:35,050 --> 01:12:38,020 Now, you said validate and before say so. 909 01:12:38,050 --> 01:12:47,530 Which one you use commonly you are using validate or used before to so commonly commonly. 910 01:12:47,530 --> 01:12:51,320 And I do validate because in invalided you can, you can also call. 911 01:12:51,610 --> 01:12:57,430 You can do a lot with validity before save before a document is if you can also use this. 912 01:12:57,910 --> 01:13:03,790 But if I did I normally find, I find validate coming in very handy because anything that you want to 913 01:13:03,790 --> 01:13:09,730 do, for instance, even if maybe you want to combine two things, I think validity is superior to to 914 01:13:09,730 --> 01:13:16,810 be false if invalidity is actually called before even the system attempts to save this into the database. 915 01:13:17,140 --> 01:13:21,580 So we do believe it will have done all the validation before it has are the function. 916 01:13:22,880 --> 01:13:27,620 So first things trigger this validate, yes, but it it is triggered first. 917 01:13:28,100 --> 01:13:29,300 Oh, yeah. 918 01:13:31,210 --> 01:13:34,280 Then we have before Steve Fossett is self-explanatory. 919 01:13:34,360 --> 01:13:37,530 This is just before it is sifted the database. 920 01:13:37,780 --> 01:13:42,400 So this is called after valeted as fast as you can do something before you leave. 921 01:13:43,090 --> 01:13:47,920 And then we be right now combining of two names to create another maybe something like fullName. 922 01:13:48,250 --> 01:13:50,750 You can do that before they see me. 923 01:13:51,190 --> 01:13:56,570 Then we have the inside of the inside is dust after this thing has been inserted in the database. 924 01:13:56,650 --> 01:13:58,640 I think we have to use that right. 925 01:13:59,080 --> 01:13:59,540 Yes. 926 01:13:59,560 --> 01:13:59,890 Yeah. 927 01:14:00,700 --> 01:14:05,890 So this this one runs immediately after the document has been inserted. 928 01:14:06,100 --> 01:14:08,270 You do something else, OK? 929 01:14:08,680 --> 01:14:09,020 Yeah. 930 01:14:10,810 --> 01:14:15,440 So on up it is called when an existing document is updated. 931 01:14:15,700 --> 01:14:21,920 So if we come here and update this document and save it, this function is going to be triggered. 932 01:14:21,940 --> 01:14:29,070 So if you need me to do something on update, maybe I'll ask people to document X, Y, Z has been updated. 933 01:14:29,290 --> 01:14:31,370 You can do that with this method. 934 01:14:32,140 --> 01:14:36,930 OK, you have on submit is when you have submitted a document. 935 01:14:36,940 --> 01:14:41,050 So you have I took it out of control. 936 01:14:41,050 --> 01:14:44,670 I mean I don't about where you are allowing people to submit. 937 01:14:45,010 --> 01:14:50,950 So immediately after they submit you can do you can trigger other other other other options we have 938 01:14:50,950 --> 01:14:53,500 before submit and submit. 939 01:14:54,700 --> 01:15:02,230 Yes, what is the difference, the difference is on submit before submit happens, when you click the 940 01:15:02,230 --> 01:15:05,470 submit button before submit is called. 941 01:15:07,090 --> 01:15:09,610 On Submit, this one has already been submitted. 942 01:15:09,790 --> 01:15:12,550 You see this and saying this is called when the committee submitted. 943 01:15:13,770 --> 01:15:17,190 Means before a settlement is before on submit. 944 01:15:18,650 --> 01:15:26,480 Regrette, who is first, it is before submit, because before something happens, before the document 945 01:15:26,480 --> 01:15:27,240 is submitted. 946 01:15:27,290 --> 01:15:32,300 So when you click the button, if he had something on there before, submit method, it will be written 947 01:15:32,300 --> 01:15:34,520 before the document is actually submitted. 948 01:15:34,550 --> 01:15:38,120 So if their tests don't run, the document will not be submitted. 949 01:15:38,660 --> 01:15:42,740 But on submit will call after they submit as happened. 950 01:15:45,480 --> 01:15:45,900 Yeah. 951 01:15:47,240 --> 01:15:51,340 Yes, you need to try this kind of an update after some. 952 01:15:53,120 --> 01:15:54,130 So there it is. 953 01:15:54,320 --> 01:16:00,280 I think it's clear, OK, on trash after delay talking fine because it's confusing. 954 01:16:00,490 --> 01:16:08,600 You see, if someone don't know when to put the right trigger, which trigger you use, it can be wrong. 955 01:16:09,880 --> 01:16:10,650 You, Andrea. 956 01:16:11,240 --> 01:16:11,490 Yeah. 957 01:16:12,380 --> 01:16:14,870 OK, that's it for today. 958 01:16:15,290 --> 01:16:15,830 Thank you. 959 01:16:16,100 --> 01:16:17,990 If you don't have a question from. 960 01:16:19,530 --> 01:16:20,100 The team. 961 01:16:22,690 --> 01:16:23,860 Anyone has questioned. 962 01:16:27,320 --> 01:16:29,940 No question, not everything is clear. 963 01:16:30,560 --> 01:16:31,280 So we. 964 01:16:32,510 --> 01:16:39,710 We will, uh, the the recording will be available maybe after 15 minutes, half hour maximum, you 965 01:16:39,710 --> 01:16:44,100 can download it if you don't if you have a problem on accessing. 966 01:16:44,120 --> 01:16:44,930 Please let me know. 967 01:16:45,680 --> 01:16:50,090 And, uh, shall we meet tomorrow same time. 968 01:16:51,570 --> 01:16:52,010 Yes, 969 01:16:55,640 --> 01:16:58,970 I sure can. 970 01:16:59,120 --> 01:17:08,150 You and Karen, you stay with me just for ten minutes after the call now after the hour. 971 01:17:09,140 --> 01:17:09,950 OK, OK. 972 01:17:09,950 --> 01:17:11,300 We'll continue directly. 973 01:17:11,320 --> 01:17:12,470 We will not break. 974 01:17:13,160 --> 01:17:15,450 So we'll finish today's call. 975 01:17:15,470 --> 01:17:17,630 Thank you very much for your time. 976 01:17:18,590 --> 01:17:19,900 And that's it for today. 977 01:17:19,940 --> 01:17:20,540 Thank you. 978 01:17:24,470 --> 01:17:25,440 I was.